<!--
  - Copyright (c) 2018.
  - 北京九思金信科技有限公司对该文件内容保留所有权利。
  - 未经许可，不得私自拷贝、传播、发布、引用该文件内容，违者将被追究法律责任。
  -->

<template>
  <div style="text-align: left">
    <el-input v-model="inputValue"
              :type="type"
              v-if="editing"
              :rows="rows"
              @change="change"></el-input>
    <span v-if="!editing" style="padding: 8px 0px 8px 8px">{{convertInputValue(value)}}</span>
  </div>
</template>

<script>
  export default {
    name: "FtInput",
    props: ['editing', 'value', 'type', 'rows'],
    watch:{
      value(newValue,oldValue){
        this.inputValue=this.value
      }
    },
    data() {
      return {
        inputValue: this.value
      }
    },
    methods: {
      change() {
        this.$emit('input', this.inputValue)
        this.$emit('change', this.inputValue)
      },
      convertInputValue(val){
        if(val && this.type == 'accountnum'){
          val = val.replace(/\s/g,'').replace(/[^\d]/g,'').replace(/(\d{4})(?=\d)/g,'$1 ')
        }
        if(null != val && '' != val &&
          this.type != 'textarea'&& this.type != 'phonenum' && val.length >9){
          return val.substr(0,9)+'...'
        }
        return val
      }
    }
  }
</script>

<style scoped>

</style>
